本文介绍探针安装和容器服务安装ack-ahas-pilot常见问题。
常见问题
本文介绍了以下常见问题:
AHAS架构感知和故障演练探针limits配置
问题现象架构感知和故障演练功能需要使用AHAS Agent探针,AHAS Agent以Daemonset方式部署在每个节点上,默认的资源配置如下:
resources:
requests:
# resources.requests.cpu: cpu request
cpu: 0.1
# resources.requests.memory: memory request
memory: 200Mi
limits:
# resources.limits.cpu: cpu limit
cpu: 0.2
# resources.limits.memory: memory limit
memory: 360Mi
由于AHAS Agent占用的资源取决于节点上的Pods、进程、网络连接数等,所以在安装AHAS Agent时需要根据节点CPU和内存大小修改Agent limits资源配置。
解决方案AHAS Agent的limits配置规则如下:
- CPU limits配置:
- CPU≤8 Core,采用默认配置。
- CPU>8 Core,采用Core(核数)/40=CPU limits配置,例如节点CPU总核数是16,则CPU limits配置=16/40=0.4。
- Memory limits配置:
- 节点内存Memory≤16 G,采用默认配置。
- 节点内存Memory>16 G,采用Memory(单位是G)×1024/48=Memory limits配置(单位是Mi)。例如Memory=64 G,则Memory limits配置=64×1024/48=1365 Mi。
综上所述,如果节点配置是12 Core、48 G,则limits配置如下:
resources:
requests:
# resources.requests.cpu: cpu request
cpu: 0.1
# resources.requests.memory: memory request
memory: 200Mi
limits:
# resources.limits.cpu: cpu limit
cpu: 0.3
# resources.limits.memory: memory limit
memory: 1024Mi
在Kubernetes集群中,常见ECS规格对应的AHAS Agent的资源limits配置建议如下表。
机器配置 | CPU配置 | Memory配置 |
4 vCPU 8 GiB |
|
|
4 vCPU 16 GiB |
|
|
8 vCPU 16 GiB |
|
|
96 vCPU 192 GiB |
|
|
ECS探针安装常见问题
问题现象探针安装引导页中无法查询到ECS机器。
可能原因- 请确认地域选择是否正确。
- 架构感知探针仅支持VPC网络模式下的Linux机器,Window机器暂不支持。
- 自动安装模式仅支持ECS中自动安装了云助手的机器,未安装云助手的ECS会执行失败。
容器服务安装ack-ahas-pilot常见问题1
问题现象安装ack-ahas-pilot时报以下错误。
Can't install release with errors: rpc error: code = Unknown desc = unable to decode ": no kind "CustomResourceDefinition: is registered for version "apiextensions.k8s.io/v1beta1”
问题原因可能是Helm版本导致的问题,Helm最低要求2.12版本,解决方式是升级Helm版本。
解决方案- 登录到Kubernetes集群Master节点,请参见获取集群KubeConfig并通过kubectl工具连接集群。
- 执行如下命令,升级Helm的版本。
helm init --tiller-image registry.cn-hangzhou.aliyuncs.com/acs/tiller:v2.16.3 --upgrade
说明- 镜像地址可使用对应Region的VPC域名,比如杭州区域的机器可以替换为registry-vpc.cn-hangzhou.aliyuncs.com/acs/tiller:v2.16.3。
- 以上操作只升级Helm服务端的版本,客户端可以通过下载对应的Client Binary,请参见下载Helm 2.16.3版本的客户端。
- Helm客户端和服务端的版本升级完毕后,执行如下命令,确认版本升级成功。
helm version
系统显示类似如下,确认Helm的版本为v2.16.3。
Client: &version.Version{SemVer:"v2.16.3", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.16.3", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
容器服务安装ack-ahas-pilot常见问题2
问题现象安装ack-ahas-pilot时报以下错误。
Can't install release with errors: rpc error: code = Unknown desc = a release named ahas already exists. Run: helm ls --all ahas; to check the status of the release Or run: helm del --purge ahas; to delete it
问题原因已安装AHAS。
解决方案卸载已存在的AHAS,重新执行创建,卸载方式如下。
- 登录容器服务管理控制台。
在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏,选择 。
- 在Helm页面单击目标Helm操作列的删除,并在弹出的对话框中单击确定,删除AHAS应用。
容器服务安装ack-ahas-pilot常见问题3
问题现象安装ack-ahas-pilot时报以下错误。
cannot re-use a name that is still in use
问题原因已安装AHAS。
解决方案卸载已存在的AHAS,重新执行创建,卸载方式如下。
- 登录容器服务管理控制台。
在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏,选择 。
- 在Helm页面单击目标Helm操作列的删除,并在弹出的对话框中单击确定,删除AHAS应用。
容器服务安装ack-ahas-pilot常见问题4
问题现象安装ack-ahas-pilot时报以下错误。
Can't install release with errors: rpc error: code = Unknown desc = customresourcedefinitions.apiextensions.k8s.io "chaosblades.chaosblade.io" is forbidden: User "system:serviceaccount:kube-system:default" cannot delete resource "customresourcedefinitions" in API group "apiextensions.k8s.io" at the cluster scope
问题原因用户集群中的helm server端安装的Tiller没有在具备集群角色(cluster admin)的服务账户的情况下部署,引发此问题。
解决方案- 登录到Kubernetes集群Master节点,请参见获取集群KubeConfig并通过kubectl工具连接集群。
- 执行以下命令。
kubectl create serviceaccount --namespace kube-system tiller kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
容器服务安装ack-ahas-pilot常见问题5
问题现象安装ack-ahas-pilot时报以下错误,无法删除chaosblade 的crd,执行kubectl delete crd chaosblades.chaosblade.io
仍无法删除。
Can't install release with errors: rpc error: code = Unknown desc = object is being deleted: customresourcedefinitions.apiextensions.k8s.io "chaosblades.chaosblade.io" already exists
解决方案- 执行以下命令,删除AHAS Agent CRD资源。
kubectl delete crd chaosblades.chaosblade.io --kubeconfig XXX
说明 请替换XXX,如果本地配置了config文件,可以不添加kubeconfig参数。 - 若长时间不返回,执行以下命令。
blades=($(kubectl get blade -n ahas --kubeconfig XXX | grep -v NAME | awk '{print $1}' | tr '\n' ' ')) && kubectl patch blade $blades -n ahas --type merge -p '{"metadata":{"finalizers":[]}}' --kubeconfig XXX
容器服务安装ack-ahas-pilot常见问题6
问题现象安装ack-ahas-pilot时报以下错误。
Can't install release with errors: rpc error: code = Unknown desc = unable to decode "": no kind "CustomResourceDefinition" is registered for version "apiextensions.k8s.io/v1beta1"
问题原因可能是Helm版本导致的问题,Helm最低要求2.12版本,解决方式是升级Helm版本。
解决方案- 登录到Kubernetes集群Master节点,请参见获取集群KubeConfig并通过kubectl工具连接集群。
- 执行如下命令,升级Helm的版本。
helm init --tiller-image registry.cn-hangzhou.aliyuncs.com/acs/tiller:v2.16.3 --upgrade
说明- 镜像地址可使用对应Region的VPC域名,比如杭州区域的机器可以替换为registry-vpc.cn-hangzhou.aliyuncs.com/acs/tiller:v2.16.3。
- 以上操作只升级Helm服务端的版本,客户端可以通过下载对应的Client Binary,请参见下载Helm 2.16.3版本的客户端。
- Helm客户端和服务端的版本升级完毕后,执行如下命令,确认版本升级成功。
helm version
系统显示类似如下,确认Helm的版本为v2.16.3。
Client: &version.Version{SemVer:"v2.16.3", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.16.3", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
容器服务安装ack-ahas-pilot常见问题7
问题现象ack-ahas-pilot安装后,架构感知中无数据或者数据展示不全。
问题原因- 部分AHAS Agent安装失败,请在 进程集中选择AHAS命名空间,查看AHAS Agent是否存在异常。
- 请调整架构地图中顶部的视图筛选条件,选择合适的过滤条件。
- 本页导读 (1)